Today, most common residential broadband deployments are delivered via either cable or DSL modem. Such broadband deployment typically provides customers with a single Ethernet port that grants one public IP address to a single computer device. Given this situation, customers are restricted to using only one computer, and must purchase a router if they desire to share the broadband connection to access, for example, the Internet between more than one of the customer's computer devices.
To transport media and telephone signaling, customers commonly use a Multi Media Terminal Adapter (MTA) coupled between their source device (e.g., a computer or telephone) and their broadband connection. One example of a common Media Terminal Adapter is the Cisco ATA 186 Analog to Telephone Adapter (ATA) manufactured by Cisco Systems, Inc. of San Jose Calif. In the case of Internet telephony, the Media Terminal Adapter operates as a handset to Ethernet adapter that converts traditional telephone analog signals into Internet packets. The packets are then sent using, for example, a standard protocol such as Session Initiation Protocol (SIP) on route towards their destination.
FIG. 1 is a schematic representation of an example user Internet Telephony environment. In FIG. 1, a cable modem 10 provides access to the Internet 20. In the FIG. 1 example, the user employs an intermediate communication point, e.g., router 30 to provide multiple devices access to the Internet 20. The router 30 assigns respective private dynamic IP addresses to the Media Terminal Adapter 40 and to the computer 50.
As shown in the FIG. 1 example, the Media Terminal Adapter 40 is coupled to a common telephone handset 60. The Media Terminal Adapter 40 receives signals from the handset 60, creates packets and sends data packets to the Router 30, which in turn sends them to the cable modem 10 and eventually to the Internet 20.
A major drawback of the above typical environment is the difficulty in accommodating the Network Address Translation (NAT) that is typically implemented by the router 30. As is commonly understood, a Dynamic Host Configuration Protocol server running on the router 30 assigns private dynamic IP addresses to the Media Terminal Adapter 40 and computer 50; thus effecting Network Address Translation (NAT).
When a user wishes to initiate a call and activates the telephone handset 60, the handset sends signals to the Media Terminal Adapter 40. The Media Terminal Adapter 40 then begins the communication/registration process with an Internet telephone service provider. The communication between the Media Terminal Adapter 40 and a server of the Internet telephone service provider employs a standard protocol such as Session Initiation Protocol. But, the router 30 performs the Network Address Translation on a timed basis. As is commonly known, typical routers used in home environments assign private IP addresses to devices connected to the router. But, those addresses are valid only for a limited time. Thus, after the limited time expires, the private address is no longer assigned to a given device, such as the Media Terminal Adapter 40. As a result, the SIP messages sent from Internet telephone service provider's server are not passed by the router 30 to the Media Terminal Adapter 40. Consequently, the Media Terminal Adapter 40 can send SIP messages, but is not able to receive packets from the Internet Telephone service provider's server due to the router 30 losing the originating outbound port and making communication to an MTA located behind a router impossible.
FIG. 2 is a schematic representation of an example environment that addresses the issue of router 30 losing an outbound port during an Internet telephone connection. In the FIG. 2 example, at the Internet telephone service provider, a destination, e.g., a pre-proxy server 70, receives messages from the router 30. Pre-proxy server 70 records the private IP address of the Media Terminal Adapter 40 during, for example, the SIP registration process. It also records the network address translation communication port assigned by the router 30 to the Media Terminal Adapter 40 to and from which it will send and receive messages, such as SIP messages. Upon registration, the Media Terminal Adapter 40 passes fields used to communicate with the pre-proxy server 70. Examples of fields, that can be passed include, for example, the private IP address of the Media Terminal Adapter 40, the public IP address of the router 30, and port information. After the pre-proxy server 70 receives the information from the Media Terminal Adapter 40, the pre-proxy server 70 periodically sends, for example, blank UDP messages to the Media Terminal Adapter 40, which contain the same destination and source address as a typical SIP message would have. Other messages could be used instead of the UDP message. The message used should prompt the Media Terminal Adapter 40 to send a response to the pre-proxy server 70. The pre-proxy server 70 sends, for example, the UDP message to the router 30 using the public IP address of the router 30 and the port information received in the message from the router 30. The pre-proxy server 70 sends, for example, the UDP within the limited time that the router 30 maintains that private address assigned to the Media Terminal Adapter. The router 30 accordingly routes the message to the destination designated in the message from the pre-proxy server 70. The pre-proxy server 70 also maintains the private and public IP addresses of the MTA and rewrites the headers in the actual SIP messages based on this information.
The above solution worked, but it did not solve the network address translation problem for all routers. For example, some routers would close the outbound port if the device behind the router's network address translation did not send an outbound message. Thus, there is a need for a solution to the problem, in Internet telephony, of the network address translation that a router performs as a part of its intended operation.